Proof Contexts with Late Binding
نویسندگان
چکیده
The Focal language (formerly FoC) allows one to incrementally build modules and to formally prove their correctness. In this paper, we present two formal semantics for encoding Focal constructions in the Coq proof assistant. The first one is implemented in the Focal compiler to have the correctness of Focal libraries verified with the Coq proof-checker. The second one formalizes the Focal structures and their main properties as Coq terms (called mixDrecs). The relations between the two embeddings are examined in the last part of the paper.
منابع مشابه
Contexts as First-class Objects: an Implementation Based on the Sicstus Prolog System
This work provides a new view of contexts by defining them as primitives data types whose instances can be interpreted in two ways: as structured binding environments and as first-class objects. To achieve such a goal, an implementation is presented in which contexts are completely configured data structures, created by using the SICStus Prolog system support for modular programming. The main a...
متن کاملStrong Normalization of Moggis's Computational Metalanguage
Handling variable binding is one of the main difficulties in formal proofs. In this context, Moggi’s computational metalanguage serves as an interesting case study. It features monadic types and a commuting conversion rule that rearranges the binding structure. Lindley and Stark have given an elegant proof of strong normalization for this calculus. The key construction in their proof is a notio...
متن کاملVerification of Object Oriented Programs Using Class Invariants
A proof system is presented for the verification and derivation of object oriented programs with as main features strong typing, dynamic binding, and inheritance. The proof system is inspired on Meyer’s system of class invariants [12] and remedies its unsoundness, which is already recognized by Meyer. Dynamic binding is treated in a flexible way: when throughout the class hierarchy overriding m...
متن کاملLazy Behavioral Subtyping
Inheritance combined with late binding allows flexible code reuse but complicates formal reasoning significantly, as a method call’s receiver class is not statically known. This is especially true when programs are incrementally developed by extending class hierarchies. This paper develops a novel method to reason about late bound method calls. In contrast to traditional behavioral subtyping, r...
متن کاملInterpretation of Locales in Isabelle: Theories and Proof Contexts
The generic proof assistant Isabelle provides a landscape of specification contexts that is considerably richer than that of most other provers. Theories are the level of specification where object-logics are axiomatised. Isabelle’s proof language Isar enables local exploration in contexts generated in the course of natural deduction proofs. Finally, locales, which may be seen as detached proof...
متن کامل